For data transfer between local and cloud

packages
Author

Tony Duan

Published

July 4, 2023

Package Pins for Upload and download data/model to online drive.

Code
install.packages("pins")
Code
library(pins)
library(tidyverse)

1 define a board

use local location as a board

Code
board=board_folder(getwd())

or you can use one drive as as a board

Code
od <- Microsoft365R::get_personal_onedrive()
board365 <- board_ms365(od, "myboard")

2 upload to local board

Code
board %>% pin_write(head(mtcars), "mtcars")

3 download from local board

Code
board %>% pin_read("mtcars")

4 upload to one drive board

Code
board365 %>% pin_write(tail(mtcars), "mtcars")

5 download from one drive board

Code
board365 %>% pin_read("mtcars")

6 using version

upload two data to mtcars with version control

Code
board %>% pin_write(tail(mtcars), "mtcars_version",versioned = TRUE)
board %>% pin_write(head(mtcars), "mtcars_version",versioned = TRUE)

there will be two version

Code
board %>% pin_versions("mtcars_version")

download version file from board

Code
# board %>% pin_read("mtcars_version",version = '20230704T095208Z-8df40')
board %>% pin_read("mtcars_version",version = .Last.value$version[[1]])

list file in the board

Code
board %>% pin_list()

7 upload file/download file to board

Code
board %>% pin_upload('thumbnail.jpg','new.thumbnail.jpg')
Code
board %>% pin_download('new.thumbnail.jpg')

8 Reference

RStudio’s {pins} package: what it is, how it works, and what it can do for you! || RStudio https://www.youtube.com/watch?v=3Yk6U_XqxNo

Javier Luraschi | Datasets in Reproducible Research with ‘pins’ | RStudio (2020) https://www.youtube.com/watch?v=xwItECnphRU

pins doc https://pins.rstudio.com/